Skip to content

Conversation

@ryanfowler
Copy link
Owner

No description provided.

@ryanfowler ryanfowler requested a review from Copilot January 27, 2026 20:13
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for gRPC and protocol buffers to the fetch tool, enabling users to make gRPC requests and work with protobuf messages.

Changes:

  • Added gRPC protocol support with framing/unframing and status code handling
  • Implemented protobuf schema loading from .proto files or pre-compiled descriptor sets
  • Added JSON-to-protobuf conversion for request bodies and protobuf-to-JSON conversion for responses

Reviewed changes

Copilot reviewed 20 out of 20 changed files in this pull request and generated no comments.

Show a summary per file
File Description
main.go Added command-line flag bindings for gRPC and protobuf options
internal/proto/schema.go Core schema loading and type resolution for protobuf messages and services
internal/proto/schema_test.go Comprehensive tests for schema loading and type lookup functionality
internal/proto/message.go JSON/protobuf conversion utilities using dynamic message descriptors
internal/proto/message_test.go Tests for bidirectional JSON/protobuf conversion including edge cases
internal/proto/descriptor.go File I/O operations for loading compiled descriptor sets
internal/proto/descriptor_test.go Tests for descriptor set file loading
internal/proto/compile.go Protoc compiler integration for compiling .proto files on-the-fly
internal/proto/compile_test.go Tests for proto compilation with various scenarios
internal/grpc/status.go gRPC status codes and error handling
internal/grpc/status_test.go Tests for gRPC status parsing and formatting
internal/grpc/headers.go Standard gRPC HTTP headers configuration
internal/grpc/framing.go gRPC message framing protocol implementation
internal/grpc/framing_test.go Tests for frame/unframe operations
internal/format/protobuf.go Enhanced protobuf formatting with schema-aware JSON conversion
internal/fetch/proto.go Integration logic for gRPC request/response handling
internal/fetch/fetch.go Main request flow updated to support gRPC protocol
internal/complete/complete.go Added path completion for new proto-related flags
internal/cli/app.go Added CLI flags for gRPC mode and protobuf schema options
integration/integration_test.go Integration tests for protobuf and gRPC features

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ryanfowler ryanfowler force-pushed the protobuf branch 5 times, most recently from 36d3525 to 037036c Compare January 27, 2026 20:34
@ryanfowler ryanfowler merged commit ca114f9 into main Jan 27, 2026
10 checks passed
@ryanfowler ryanfowler deleted the protobuf branch January 27, 2026 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants